class Person {
    name
    // 私有属性:类内可访问，内外不可直接访问和修改
    #web
    constructor(name, web) {
        this.name = name
        this.#web = web
    }

    // 使用取器 getter 获取私有属性
    get web() {
        return this.#web
    }

    // 使用存器 setter 设置私有属性
    set web(value) {
        this.#web = value
    }

    info() {
        return `name:${this.name},web:${this.#web}`
    }
}

let person = new Person("Dcsgo", "dcsgo.com.cn")
console.log("person:", person)
// 使用 getter 获取私有属性 
// 访问没有提供 getter 的私有属性会报 SyntaxError: Unexpected identifier 'web'
console.log("person.web:", person.web)
console.log("person.age:",person.age)// person.age: undefined
console.log("person.info():", person.info())
/*
person: Person { name: 'Dcsgo' }
person.web: dcsgo.com.cn
person.info(): name:Dcsgo,web:dcsgo.com.cn
*/

person.web = "www.dcsgo.com.cn"
console.log("person.web:", person.web)
// person.web: www.dcsgo.com.cn